package com.centerm.structure.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.centerm.structure.domain.Role;
import com.centerm.structure.dto.RoleInfo;

/**
 * @ClassName: RoleDao
 * @Description: 角色数据层接口
 * @author czy
 * @date 2017年8月10日
 */
@Repository
public interface RoleDao {

	/**
	 * @Description: 获取所有角色记录
	 * @author czy
	 * @date 2017年8月14日
	 * @param
	 * @return List<Role>
	 */
	List<Role> listAll();
	
	/**
     * @Description: 根据条件获取角色记录
     * @author czy
     * @date 2017年8月14日
     * @param 
     * @return List<Role>
      */
	List<Role> listByParam(RoleInfo roleInfo);

	/**
	 * @Description: 根据id删除记录
	 * @author czy
	 * @date 2017年8月10日
	 * @param id
	 * @return int
	 */
	int deleteById(Integer id);

	/**
	 * @Description: 新增记录
	 * @author czy
	 * @date 2017年8月10日
	 * @param record
	 *            角色记录
	 * @return int
	 */
	int insert(Role record);

	/**
	 * @Description: 根据id获取记录
	 * @author czy
	 * @date 2017年8月10日
	 * @param id
	 * @return 记录
	 */
	Role getById(Integer id);

	/**
	 * @Description: 更新记录（只针对非空字段）
	 * @author czy
	 * @date 2017年8月10日
	 * @param record
	 *            记录
	 * @return int
	 */
	int update(Role record);
}